﻿using System;
using System.Web.UI.WebControls;
using SistemaCarros.Entidades;

namespace SistemaCarros.Paginas
{
    public partial class ListaProprietarios : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!Page.IsPostBack)
                    carregarProprietarios();
            }
            catch (Exception ex)
            {
                Session.Add("erro", ex);
                Response.Redirect("PaginaErro.aspx", false);
            }
        }
        protected void btnNovo_Click(object sender, EventArgs e)
        {
            Response.Redirect("InserirProprietario.aspx", false);
        }
        protected void btnEditar_Click(object sender, EventArgs e) {
            try
            {
                int id = Convert.ToInt32((sender as Button).Attributes["ItemSelecionado"]);
                ViewState.Add("id", id);
                Response.Redirect("EditarProprietario.aspx?id=" + id, false);
            }
            catch (Exception ex)
            {
                Session.Add("erro", ex);
                Response.Redirect("PaginaErro.aspx", false);
            }
        }
        protected void btnExcluir_Click(object sender, EventArgs e)
        {
            try
            {
                int id = Convert.ToInt32((sender as Button).Attributes["ItemSelecionado"]);
                excluirProprietario(id);
            }
            catch (Exception ex)
            {
                Session.Add("erro", ex);
                Response.Redirect("PaginaErro.aspx", false);
            }
        }
        protected void grdLista_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            try
            {
                grdLista.PageIndex = e.NewPageIndex;
                grdLista.DataSource = ViewState["proprietarios"];
                grdLista.DataBind();

            }
            catch (Exception ex)
            {
                Session.Add("erro", ex);
                Response.Redirect("PaginaErro.aspx", false);
            }

        }

        private void carregarProprietarios()
        {
            ViewState.Add("proprietarios", new Proprietario().Carregar());
            grdLista.DataSource = ViewState["proprietarios"];
            grdLista.DataBind(); 
        }
        private void excluirProprietario(int id)
        {
            Proprietario objProprietario= new Proprietario();
            objProprietario.Id = id;

            objProprietario.Excluir();

            carregarProprietarios();
        }

    }
}